Tuples


In [43]:
till_3 = (1,2,3)

In [44]:
till_3[0]


Out[44]:
1

In [45]:
till_3[0] = 0


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-45-d80ac0bc38a6> in <module>()
----> 1 till_3[0] = 0

TypeError: 'tuple' object does not support item assignment

In [55]:
greeting = "Hello %s"
greeting = greeting % ("Chennaipy",)
print greeting


Hello Chennaipy

In [57]:
a=1
b=2
"Num of donuts: %s %s" % (a,b)


Out[57]:
'Num of donuts: 1 2'

In [51]:
name = "Chennaipy"
"Hello " + name + "!"


Out[51]:
'Hello Chennaipy!'

In [58]:
a = (4,)

In [59]:
a


Out[59]:
(4,)

In [ ]:
till_5_in_reverse = (5,4,3,2,1)

In [60]:
till_3


Out[60]:
(1, 2, 3)

In [61]:
till_3 + (4,)


Out[61]:
(1, 2, 3, 4)

In [62]:
till_3


Out[62]:
(1, 2, 3)

In [63]:
till_4 = till_3 + (4,)

In [64]:
till_4


Out[64]:
(1, 2, 3, 4)

In [65]:
only_one = (4)

In [66]:
only_one


Out[66]:
4

In [67]:
only_one = (4,)

In [68]:
only_one


Out[68]:
(4,)

In [69]:
(a,b,c) = (1,2,3)

In [70]:
a


Out[70]:
1

In [71]:
b


Out[71]:
2

In [72]:
c


Out[72]:
3

Sorting


In [74]:
till_5_in_reverse


Out[74]:
(5, 4, 3, 2, 1)

In [75]:
sorted(till_5_in_reverse)


Out[75]:
[1, 2, 3, 4, 5]

In [76]:
till_5_in_reverse


Out[76]:
(5, 4, 3, 2, 1)

In [77]:
sorted(till_3, reverse=True)


Out[77]:
[3, 2, 1]

In [78]:
letters = []

for i in range(65,91):
    letters.append(chr(i))

In [79]:
sorted(letters, reverse=True)[:5]


Out[79]:
['Z', 'Y', 'X', 'W', 'V']

List Comprehensions


In [80]:
nums = range(10)

In [81]:
nums


Out[81]:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

In [82]:
squared_nums = []
for num in nums:
    squared_nums.append(num*num)
    
squared_nums


Out[82]:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

In [84]:
[ num*num for num in nums ]


Out[84]:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

In [85]:
nums


Out[85]:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

In [86]:
even_nums = []
for num in nums:
    if num % 2 == 0:
        even_nums.append(num)

even_nums


Out[86]:
[0, 2, 4, 6, 8]

In [93]:
[ num for num in nums if num % 2 == 0 ]


Out[93]:
[0, 2, 4, 6, 8]

In [88]:
names = ["foo", "bar", "foobar", "baz", "foobaz"]

In [89]:
[ name.upper() for name in names ]


Out[89]:
['FOO', 'BAR', 'FOOBAR', 'BAZ', 'FOOBAZ']

Exercises

  • basic/list1.py
  • basic/list2.py